John Ahlroos

Human generated ramblings in the fediverse

Okay, click-bait headline. Sorry.

With ChatGPT4 coming out I can hear murmurs from many people, mostly business oriented, that this is going to save us huge costs as we will be able to automate things.

For many non-technical people machine learning (common speak AI) looks like the answer to many difficult discussions about finding developers to work on issues that on the outside seem easy.

How hard can it be to add that one button and field to the simple form? Lets just ask ChatGPT how to do it and we don´t have to hire that developer that costs too much!

Here is my prediction how many business people will see this go:

1) Business person (read CxO/Manager) asks ChatGPT (or similar) how to solve a technical problem based on a business requirement. They get a round-robin answer that sounds promising out. 2) Business person Copy & Paste this description into a Jira ticket as a Todo 3) Hire a consultant from from a cheap labor country or intern to do the work 4) Consultant implements the description got from ChatGPT 5) Problem solved

How do you think this will go?

I don't want to be a pessimist but let me tell you, the end result will not be what the business person thought.

Let's start with the first point.

To ask a machine learning algorithm a question and get a useful technical answer out you will need to form the question in such detail that the algorithm can fit the solution into those parameters. Do you think the average person who doesn't do development can do that? I don't. And even if they could, every system in every company is different so the algorithm would need to accommodate non-standard solutions and legacy technology. I sincerely doubt that will happen.

Second point.

ChatGPT will not be able to build an architecture that is solid and will fit your organization. Yes, you will get a suggested architecture that will fit in a perfect world where every organization have followed the standards, used a standard technological stack with a standardized set of tools. But if you have worked in technology even for a short time you know that doesn't exist.

Third point.

You know the old saying that you get what you pay for? I will leave it at that.

Last point.

In many cases a business person will think that the first solution to a problem will fix the problem and the business can move on. Most people in software know differently. The first solution in many cases is only the stepping stone to the correct solution and in many cases it takes many tries until a final adequate solution is implemented. Software is evolutionary work which no machine learning algorithm will be able to completely fit into its parameters.

Final thoughts

I see machine learning as a great tool in the box for developers. For most cases it is too slow and unreliable to use in production, but for testing purposes and developer tooling it will be useful.

Will it take any developers job? I don't see it can. A developer is much more than someone you just types code every day; a developer communicates requirements, thinks of corner cases, designs alternative approaches, manages data, and so on and so on. The amount of thought work that goes into business systems today is mind-boggling.

But for the business person who only sees that button and form field, it is understandable that the big picture is blurry and machine learning seems exiting.

I am now closing in on my 40th birthday and for half of my existence I have now worked professionally as a Software Engineer. When I think about that it kind of feels incredible and I wonder where all the time has gone.

Getting started

When I started out in school I never thought programming would be something I would be doing for a living. Back then, schools did not even teach that much programming, so most of what I did I learned from Linux magazines I bought from the local kiosk.

The first official course of programming I did was in high school where we had a proper programming course in Python. There really was no Udemy courses or other free internet courses you could take, so the learning you had to do was from real books. gasp

When I started the problems technology was solving was so different than today. The internet was a young playground for idealists like myself to try different things on. The internet was not yet driven by big money companies only looking to cash out on users, and user data was not yet a commodity to be harvested.

The first job I had was writing software for a company that used COBOL as its main language. The job actually was implementing small snippets of code that was entered into a framework that then took that code and made data transformations to a pipeline. Not very glorious, and the office environment was the typical cubicle.

Open Source

Later on I joined a company who used its own web framework for building business applications for clients. It was the first time I worked for external clients as a consultant and I remember thinking back then that I will never be able to meet those deadlines and produce that code. But I eventually got the hang of it and learned.

The company later open sourced the framework and I was lunged into the open source world where opinions are strong and expectations are high by the other developers. I stayed at that company for 8 years, and I probably overstayed my welcome. But I liked the coding challenges from which I learned a lot and working with the community allowed me to meet many interesting people along the way.

But after working in open source for 10 years I decided I wanted a change, and decided to have a look at Fintech.

In Open Source development the emphasis usually was on inventing new and novel ways of making software. It was mostly marketing when you think about it, yes you're writing code, but there are a lot of community involvement required and if you are good on camera it also helps.

Fintechs

Fintech is mostly the opposite.

In most Fintechs there will be NDA's preventing you from contributing and discussing freely your solutions. Also when you are working on systems that manage other people's money there is also a lot of regulation that need to be followed to keep peace with the regulators. And if the company is international, well, there is even more regulation.

Usually when you join a Fintech company your goal will be to take a piece of code that will be using some ancient ways of implementing things and turn it into something a bit modern while at the same time trying to solve business problems where the stakeholders could not care less of what code you write. Oh, and the original authors of the code you work on are long gone and they most likely did not care about leaving any documentation or code comments.

When it comes to development work most people will think about Fintechs as the last paragraphs I wrote and wonder why on earth one would go from Open Source using the latest technology to a Fintech deprecated mess?

But here-in lies the challenge. From what I have seen only senior developers with lot of experience will thrive in a Fintech, especially in a start-up like scenario where you will have little mentoring. Young developers usually either burn out or voluntarily leave after a a few months. And this is why Fintechs get their bad reps from usually.

I've found that if you are going to survive in Fintech you will need to grow a pretty thick skin. That usually comes from years of getting sht* from customers and managers. If you are a senior reading this, you probably get this. There are a lot of managers that will eat you up unless you are able to stand your ground. You will have to be able to dive into code-bases that are bad and come out understanding and refactoring it. You will have to manage outrageous expectations on outcomes and schedules. And you will have to be able to manage YOUR time furiously unless you want to burn out your first year. This is why I don't suggest Fintechs for developers who only started.

But for senior developers, Fintechs are great playgrounds. The usually pay well (tip: Don´t join a fintech that does not pay well) and unless they are very big there will be an amplitude of things to learn from and improve. Be advised though, if you decide to join a bigger fintech there will be a lot of red tape from non-developers. As a fintechs grow them seem to entangle themselves more and more. If you are looking for a good experience look for small to medium size business with a senior development team.

The cloud

One of the major break-troughs that has occurred over the years has been “The cloud”. With this I am obviously referring to Infrastructure-as-a-Service, akin to AWS.

When I started it was common to have your own server rack, and on the servers you had virtual machines running on the server. In the virtual machines you then had application servers where you deployed your application on. These days however it doesn't normally work like that anymore, except for in older enterprises (I'll ignore their existence for this post, as they are a category of their own).

The way applications are packaged these days are using Docker or Docker like abstractions like AMIs on AWS. The application developer rarely cares anymore about the OS of the server and mostly focuses on the application architecture and packages it into an Image. The image is then provided to a cloud hosting platform where you have virtually set up your server configuration. Some cloud platforms even take it further and allow developers to just upload code and run it without even caring about the environment (FAAS).

Dependencies and source control

In the Java space where I have worked most of my career there has also been a lot of changes. One of the most ground-breaking ones were the invention of dependency management and source control.

You see, before you had dependency managers, you built your libraries by hand and deployed then manually to the server. The only place you had these files was on the production server and usually there was no reference on when the library was built, by who, or even what it contained. So when something broke and it was a library, it was usually a big mess.

Later along came dependency repositories where library makers could upload their libraries and version them. This meant that you no longer needed to built them yourself and you knew what the library contained. If something broke, you could just upgrade to a newer version.

Kind of the same evolution happened to source control. When I started source control was a set of files on a server where you connected through FTP and uploaded and downloaded files as you developed. Similar source control systems where you could branch your code came a bit later like CVS or Subversion. They all were though centralized, and what we call branching today was highly frowned upon. Git obviously came and changed everything.

Ways of working

This is maybe one of the controversial changes that has happened in my career when it comes to non-code related things and I still cannot determine if it was a good or bad thing.

What I mean with this is obviously the Agile movement and working methods like Scrum and Kanban. I could write a lot of negative things these have brought, and why most of it was not intended by the authors but glued on top by business people trying to gain more foothold in the process then ever was intended.

But, I'll digress in saying than unless everyone at the company buys into these processes you will do more harm in implementing them than you will be getting out of them. I have been in a few transitions to know, and nothing good has ever came out of those.

In my view the best way to still develop something is just plain old working together as a team, using a board to put up todo's and respecting and trusting the team YOU have selected to accomplish it.

The teams that have encompassed this mentality has always accomplished their goals successfully. The key has always been to select your team mates wisely. And to clarify, in this context “Wisely” doesn't mean selecting only your pals and like-minded people but selecting people that brings diversity on a positive level to the team.

Going forward

It looks like going forward I will go on being a Software Engineer. Nothing I've seen around me has convinced me otherwise. Will I continue in Fintech, I honestly don't have a clue.

They say that after 40 opportunities for engineers decrease but we shall see, while I think that is true for very shallow minded societies like the US, I believe there is a waking occurring that we older developers still have something to give. The key and advice I will give is to just stay on top of new and upcoming technologies and apply your experiences to these. In most cases you will always be a 10x engineer if you can do this.

But as we know life can give you a left hook and kick in the stomach and you can find yourself jobless and even homeless. So always prepare for that. So what I these days do is what the Stoics recommend, manage the things I can influence and for the rest, well let it sort it out by itself.

You've got to admit this has been coming for a long time. If you are surprised by this it is time to take away your blindfold.

When Facebook and Twitter started out it was about connecting people (Nokia, no pun intended!). The value of using these platforms was in their functionality for you to see what your friends, family and other like minded people were talking about. Your timeline was filled with what you wanted to follow and you felt more connected to those you also met in real life.

But for the last few years the emphasis has more and more turned to how these platforms could be leveraged for user data harvesting and marketing.

It started with the photos. Photos have value for the marketing industry as in many cases they display human emotion. Genuine human emotion sells better than Barbie or Ken acting human emotion so the marketing people looked at social media as a great source for material. And since the platforms were still in growth phase they were more than eager to get more funding. So we started seeing average people's photos leak to media companies “unintendedly”.

Next came engagement. As these companies measured their data they deduced that the best way to engage users was to provide interactivity to the media. The content was no longer the primary goal of social media posts but the engagement. People posted for likes and comments rather than for the content. There are a lot of research put in to this, especially the part of the addictivity of Social Media due to the dopamine effect. Look them up, there are plenty on Netflix for example if you are not a reading type of person.

Changing the timeline to an algorithm based version allowed the platforms to manage what users see. Users actually did not want this change, but this requirement came straight from the advertisers. Their ads were scrolling by too quickly and they wanted a way to get noticed more. To solve it the platforms revamped the timelines to show what they wanted not what the users wanted to see. The algorithms that determine how posts are prioritized are to this day a closely guarded secret by these companies, not because they themselves have any intrinsic value, but they would reveal the marketing point of view which would not please everyone.

As the platforms became more popular, political movements started to take interest. Because by now, the timelines could be manipulated thanks to the engagement features and the algorithmic timeline, political movements could manipulate s.k Trending posts with the helps of bot campaigns. Fringe ideas that normally would get unnoticed by most now got splashed on the top feeds of these platforms with help of bots liking these posts. This led to many users thinking that these ideas were credible as so many people were agreeing with them. This directly tapped into the tendency we humans have to accept the consensus without any independent thought.

As the fringe movements grew stronger on the platforms more moderation was needed. But moderation cannot solve the inherit problems of the algorithmic timeline as content moderators can only moderate what already has been posted. The damage in most cases had already been done once the moderator saw the post.

These are the reasons why social media is mostly broken today. And it can be solved by regressing the changes done to the platform. But since advertising revenue still is the dominant driver for many of these companies I don't see this happening.

So is there an out to this?

I believe that the Fediverse movement is such a solution. I call it a movement because it is not only about the technology. Federated servers that only allow a chronological timeline and discourages the engagement factors are the solution to return to media where content is king.

Many a CEO and marketing person will disagree with this, as they see social media as something to be monetized, either by using the platform as a promotion platform for their products, or as data platform for trend research. With servers like Mastodon this is impossible as the users are in control of their timelines and content.

I am happy the recent Elon event with Twitter has allowed users to open their eyes and see that there are other alternatives for social media than the corporate ones. Software using the Fediverse like Mastodon, Pixelfed, Write.freely and many more are all the solution to connect the users in a more open and transparent way, without sacrificing our freedom and right for privacy and manipulation.

Ever since I did my first vacation abroad with my family as kid I have had this itch does not go away. It is hard to explain, it is a sort of restlessness that comes that keeps telling me I don´t belong here, I am missing out. Those who have it will understand.

When I was younger I used to day-dream about traveling, going on adventures and never turning back. My favorite game series was the Broken Sword series where the main character solves mysteries by traveling Europe.

Broken Sword 1 - Paris Broken Sword 1 – Paris

But back in the 90's when I grew up, there was not really opportunities like that.

At that time there was a depression in Finland and very few parents had the same kind of money they have for the youth today to send them abroad for years on exchange.

Me on a camel in Sahara desert '97 Me on a camel in Sahara desert '97

We did travel though with my family a few times a year on vacation. I was lucky in that sense.

I saw a lot of the Balearic Islands, we traveled by car in Europe and even visited North Africa and Sahara. While my friends got scooters (well mopeds actually) and their parents drove fancy cars, we traveled.

Me and the gang on Lion's exchange in Buenos Aires, Argentina 2002 Me and the gang on Lion's exchange in Buenos Aires, Argentina 2002

The first time I traveled alone was when I was 17 on a three week exchange to Argentina. You can still read the travel report here on this old site :)

This trip changed my life. Traveling alone changes you in significant ways. You learn to survive in an environment where you don´t recognize the environment, you don´t speak the language and know no-one. This has turned out to be an invaluable skill.

When I grew up I started to work and started to make enough money to be able to travel once every two years. I didn't make much, but the pennies I made always went to my travel fund.

My friends were mostly now buying new gaming rigs, buying cars and saving for a house/dog/spouse. The longest trip I managed to afford was a trip to India for a few weeks. Now older, traveling as a 20-something was different, more relaxed.

Goa India 2006 Goa India 2006

But when I came home again I again felt that feeling, that feeling of disappointment. The surroundings looked bleak, I wanted to leave again.

The years went by, and I studied at Uni.

At one point I found a girlfriend who saw something in me nobody did, not even my closest friends at the time. She wanted to explore the world with me, just as much as I wanted to.

So we saved our pennies and traveled to Thailand, Egypt, Singapore, South America, Cuba, Australia and New Zealand among many others. Traveling with someone who gets it was so refreshing and rewarding. We both hated group travel, we both wanted to set our own course and just go for it. We did. The years flew by. We went to places and saw things.

The dynamic duo in New Zealand 2013 The dynamic duo in New Zealand 2013

Last year, thanks to how COVID had changed the working culture from onsite to remote-friendly, we saw an opportunity. The opportunity we had been longing for a decade. We saw how we could leave Finland and move to Spain.

The vacation traveling would turn into full time living abroad. The short adventures would turn into a life abroad. I can still remember the day we had the chat and decided that we should go for it. The level of mixed feelings from excitement to dread was huge. And the closer the date came, the more the feelings grew.

We have now lived in Spain for little over a year, and it has been worth it. That feeling of restlessness is gone, I feel at home. I still don´t know if Spain will be my home forever but I feel like the way of life here is more what I always felt it should be. When I leave the house here I am full of energy of what the day will bring, a feeling I previously only felt when traveling on vacation.

Somewhere on the south coast of Spain '21 Somewhere on the south coast of Spain '21

Life is harder to some degree for sure.

I still don´t speak fluent Spanish and the culture and customs still are not well known so I do blunders from time to time.

But the lessons I have learned along the way have helped me to adjust if not every little thing goes according to plan, to be strong, to just do things and let life carry. It is just me and my girlfriend here against the world, but we are okay with it. We have now set a new course and seeing where it takes us.

My wanderlust has subsided for now, and while we are planning on continuing to travel, that nagging feeling is gone.

I feel like I am living the Broken Sword game I so many times played through.

I feel at peace. At least for now.

Crash & Burn

I am typing this blog entry with my right hand only. Why? Let me explain...

On a sunny Sunday evening I decided to take my electric scooter for a spin. The sun was sinking leaving a red haze in the sky, there was a slight breeze and a comfortable 25 Celsius degrees. A perfect evening to cruise along the red stone mountain roads here in Marbella.

So I put on my helmet, put on my steady mountain shoes and my driving gloves. I unplugged my just fully loaded scooter battery and headed for the garage where I keep the scooter. I connected the battery and off I went.

I cruised out on to the street, past the golf courses and up to the hills. There was no cars around and I cruised at a steady 20 km/h. The sun was now reaching the mountain tops, and threw long shadows over the houses and farm lands. In the horizon the sea glittered.

And then I felt a bump.

My front wheel went up in the air due to speed bump I hadn't noticed.

I managed to regain some control in the air but when the wheel again touched the ground I immediately felt something was wrong and the scooter started to wiggle uncontrollably. At that point I knew I was going down one way ore the other.

I started to break but a second later something hit the front wheel and the scooter leaned left. And so I fell and everything went black for a second.

I woke up in the middle of the street my head resting on my left arm. When I opened my eyes I could see a bone protruding from my left arm and my fingers felt numb. An adrenaline shock must have hit me and I just got up and looked around.

Nobody around. Fuck.

Time to asses the damage. I knew I needed a hospital and fast if I wanted to save my hand. I tried to move my fingers and they barely moved. Everything else seemed okay though, except some road burns on my right hand and my right ribs were pounding. I must have hit the scooter on my right side when falling.

So my #1 priority became to find some help.

I started walking.

I don't know how long I had walked in the middle of the road, my vision getting a bit blurry, feeling the numbness spread in my left hand and blood dripping on the road. I desperately halted down the road and prayed that someone, anyone would drive by.

In the distance I could faintly spot a few cars parked and a few guys, probably in their twenties, just chilling there, having a smoke and probably talking about girls and parties.

I dragged my feet and as fast I could I aimed for them while at the same time leaning into my scooter as I walked. When I arrived I must have given them a fright of their life.

After the guys saw the situation they jumped into action. They took my scooter into one car and put me in the front seat of the other. The scruffiest guy of them, with tats all over his body jumped behind the wheel and we were off to the hospital.

From that drive I remember just a few things, the clicking of warning blinkers, and the speed of the car moving though the mountain road toward the hospital.

Thankfully the hospital was only a 15 minute drive away and the next thing I remember is me laying on the ER table while a handful of doctors and nurses is trying to assess the situation.

After that pain. Painkillers, shots and a drip. More Pain.

Next a surgeon was pulling my fingers to mush with rope tied around his waist to straighten my hand-bones back straight. Nurse looks horridly at my hand. my hand all blue. I scream of the pain. I black out.

I wake up the observation ward, doctor asks me to sign papers for surgery. Asks if I am willing to receive blood if surgery goes awry. I ask what is the alternative, he just looks at me with a blank stare. I sign the papers.

A few hours pass, I sleep.

The next morning I am rolled into surgery. Doctor says I've lost a lot of bone so they need to pin my wrist and hand bones with screws and metal plates. More papers to sign. I am rolled to surgery.

Anesthesia kicks in. The world goes black.

I dream about the Cheshire cat in Alice in Wonderland. He grins at me with that sly smile. Sometimes I think I wake up to only find the reality is not real. Finally I wake up in the waking room and I have to ask where I am. Everything seems so confusing,

Slowly I get my marbles coordinated with reality and they wheel me into the ward where I spend the next four days.

And here I am now, happy to be home but with my left hand in a package for months. I still don't know what will become of the hand. At least I will need one more surgery, but doctors are still unsure if it ever will go back to normal. Time will tell. Now I am now just taking it one day at a time hoping for a full infection free recovery.

Did I learn anything?

I learned that even if you buy all the protective gear you can find something might always go wrong.

I was lucky that the kids here in Spain are well brought up and helped me to the hospital. Without them I might not have made it in time to even have a chance of full recovery.

I was also lucky nothing else went awry.

My advice to others are be curious and explore what the world have to offer, but always minimize the risks somehow. This was my first fracture in almost 40 years so I am hoping the next 40 years would go the same way using this strategy.